<?php
/*
 * Created by generator
 *
 */

class activite_model extends Model {
	
	/**
	* Identifiant
	* @var int
	*/
	var $actidact;

	/**
	* Nom
	* @var varchar(255)
	*/
	var $actlblib;

	/**
	* Lien vers le niveau de l'activité
	* @var int
	*/
	var $actidniv;

	/**
	* Lien vers la tranche d'age théorique des adhérents
	* @var int
	*/
	var $actidtra;

	/**
	* Saison de l'activité
	* @var int
	*/
	var $actidsai;

	/**
	* professeur qui dirige l'activité (vide = pas de professeur)
	* @var int
	*/
	var $actidpro;

	/**
	* créneau horaire  - jour de la semaine
	* @var varchar(50)
	*/
	var $actlbjou;

	/**
	* créneau horaire - heure de début
	* @var varchar(10)
	*/
	var $actlbhdb;

	/**
	* créneau horaire - heure de fin
	* @var varchar(10)
	*/
	var $actlbdfn;

	/**
	* activité maintenue lors de la saison
	* @var char(1)
	*/
	var $actfgmai;

	/**
	* Montant de la cotisation 
	* @var char(1)
	*/
	var $actmocot;
	
	
	/**
	 * Constructeur
	 */
	function activite_model(){
		parent::Model();
		$this->load->helper('activite');
		
	}
	
	/************************************************************************
	 * Methodes de mise a jour a partir de la base de donnees
	 ************************************************************************/

	/**
	 * Cree une nouvelle instance a partir d'un enregistrement de base de donnees
	 */
	static function activite_modelFromRow($row){
		$model = new activite_model();
		$model->actidact = $row['actidact'];
		$model->actlblib = $row['actlblib'];
		$model->actidniv = $row['actidniv'];
		$model->actidtra = $row['actidtra'];
		$model->actidsai = $row['actidsai'];
		$model->actidpro = $row['actidpro'];
		$model->actlbjou = $row['actlbjou'];
		$model->actlbhdb = $row['actlbhdb'];
		$model->actlbdfn = $row['actlbdfn'];
		$model->actfgmai = $row['actfgmai'];
		$model->actidsit = $row['actidsit'];
		$model->actmocot = $row['actmocot'];
		return $model;
	}

	/**
	 * recupere tous les enregistrements
	 * @param $db connexion a la base de donnees
	 */
	static function getAllactivites($db){
		$rows = getAllactivitesFromDB($db);
		$records = array();
		foreach ($rows as $row) {
			$records[$row['actidact']] = activite_model::activite_modelFromRow($row);
		}
		return $records;
	}
	
	/**
	 * Recupere l'enregistrement a partir de son id
	 * @param $db connexion a la base de donnees
	 * @param $actidact identifiant de l'enregistrement a recuperer
	 */
	static function getactivite($db, $actidact){
		$row = getactiviteRow($db, $actidact);
		return activite_model::activite_modelFromRow($row);
	}
	
	/**
	 * Suppression d'un enregistrement
	 * @param $db connexion a la base de donnees
	 * @param $actidact identifiant de l'enregistrement a supprimer
	 */
	static function delete($db, $actidact){
		deleteactivite($db, $actidact);
	}

	/**
	 * Enregistre en base un nouvel enregistrement
	 * @param $db connexion a la base de donnees
	 */
	public function save($db){
		$this->actidact = insertNewactivite($db, $this->actlblib, $this->actidniv, $this->actidtra, $this->actidsai, $this->actidpro, $this->actlbjou, $this->actlbhdb, $this->actlbdfn, $this->actfgmai, $this->actidsit, $this->actmocot);
	}

	/**
	 * Mise a jour des donnees d'un enregistrement
	 * @param $db connexion a la base de donnees
	 */
	public function update($db){
		updateactivite($db, $this->actidact, $this->actlblib, $this->actidniv, $this->actidtra, $this->actidsai, $this->actidpro, $this->actlbjou, $this->actlbhdb, $this->actlbdfn, $this->actfgmai, $this->actidsit, $this->actmocot);
	}

	
	/***************************************************************************
	 * USER DEFINED FUNCTIONS
	 ***************************************************************************/

	static function getActivitesForAdherentForSaison($db, $adhidadh, $saiidsai) {
		$rows = getAllactivitesFromDBForAdherentForSaison($db, $adhidadh, $saiidsai);
		$records = array();
		foreach ($rows as $row) {
			$records[$row['actidact']] = activite_model::activite_modelFromRow($row);
		}
		return $records;
	}

	
	static function getActivitesForSaison($db, $saiidsai, $orderBy = "") {
		$rows = getAllactivitesFromDBForSaison($db, $saiidsai, $orderBy);
		$records = array();
		foreach ($rows as $row) {
			$records[$row['actidact']] = activite_model::activite_modelFromRow($row);
		}
		return $records;
	}
	
	public function getChiffreAffaires($db) {
		return getChiffreAffairesActivite($db, $this->actidact);
	}
	
	
	public function getNbAdherentsActivite($db) {
		return getNbAdherentsActivite($db, $this->actidact);
	}
	
}



?>
